#include <bits/stdc++.h>
// 2024/08/08
// tag: 模拟
using namespace std;

int matrix[40][40], n;

signed main()
{
    // 输入n
    cin >> n;
    // 初始化x和y的值
    int x = n / 2 + 1, y = 1;
    // 将第一个数放入矩阵中
    matrix[y][x] = 1;
    // 循环n*n次，将数字放入矩阵中
    for (int i = 2; i <= n * n; i++){
        // 如果y为1且x不为n，则x加1，y为n
        if (y == 1 && x != n)
            x++, y = n;
        // 如果x为n且y不为1，则x为1，y减1
        else if (x == n && y != 1)
            x = 1, y--;
        // 如果y为1且x为n，则y加1
        else if (y == 1 && x == n)
            y++;
        // 如果matrix[y-1][x+1]为0，则y减1，x加1
        else if (matrix[y - 1][x + 1] == 0)
            y--, x++;
        // 否则y加1
        else
            y++;
        // 将数字放入矩阵中
        matrix[y][x] = i;
    }
    // 输出矩阵
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            cout << matrix[i][j] << (j != n ? " " : "\n");

    return 0;
}